A Pure Reference Counting Garbage Collector
نویسندگان
چکیده
Forty years ago, two methods of automatic storage reclamation were introduced: reference counting [Collins 1960] and tracing [McCarthy 1960]. Since that time tracing collectors and their variants (mark-and-sweep, semispace copying, mark-and-compact) have been much more widely used due to perceived deficiencies in reference counting. Changes in the relative costs of memory and processing power, and the adoption of garbage collected languages in mainstream programming (particularly Java) have changed the landscape. We believe it is time to take a fresh look at reference counting, particularly
منابع مشابه
Using Prefetching to Improve Reference-Counting Garbage Collectors
Reference counting is a classical garbage collection method. Recently, a series of papers have extended the basic method to drastically reduce its notorious overhead and extend the basic method to run concurrently and efficiently on a modern computing platform. In this paper we investigate the use of prefetching to further improve the efficiency of the reference-counting collector. We propose p...
متن کاملIntegrating Generations with Advanced Reference Counting Garbage Collectors
We study an incorporation of generations into a modern reference counting collector. We start with the two on-the-fly collectors suggested by Levanoni and Petrank: a reference counting collector and a tracing (mark and sweep) collector. We then propose three designs for combining them so that the reference counting collector collects the young generation or the old generation or both. Our desig...
متن کاملDraft Comparing Two Garbage Collectors for C++
Our research is concerned with compiler-independent, tag-free garbage collection for the C ++ programming language. This paper presents a mark-and-sweep collector , and explains how it ameliorates shortcomings of a previous copy collector. The new collector, like the old, uses C ++ 's facilities for creating abstract data types to deene a tracked reference type, called roots, at the level of th...
متن کاملComparing Two Garbage Collectors for C + +
Our research is concerned with compiler-independent, tag-free garbage collection for the C ++ programming language. This paper presents a mark-and-sweep collector , and explains how it ameliorates shortcomings of a previous copy collector. The new collector, like the old, uses C ++ 's facilities for creating abstract data types to deene a tracked reference type, called roots, at the level of th...
متن کاملEfficient On-the-Fly Cycle Collection
A reference counting garbage collector cannot reclaim unreachable cyclic structures of objects. Therefore, reference counting collectors either use a backup tracing collector seldom, or employ a cycle collector to reclaim cyclic structures. Recently, the first on-the-fly cycle collector, that may run concurrently with program threads, was presented by Bacon and Rajan [3]. This demonstrated the ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007